////////////////////////////////////////////////////////////////////////////// 
//
//  ani_macros.v
//
//  Project-independent macros for HiPHY development
//
//  Original Author: Chris Jones
//  Current Owner:   Chris Jones
//
////////////////////////////////////////////////////////////////////////////// 
//
// Copyright (C) 2007 Synopsys, Inc.  All rights reserved.
//
// SYNOPSYS CONFIDENTIAL - This is an unpublished, proprietary work of
// Synopsys, Inc., and is fully protected under copyright and trade secret
// laws.  You may not view, use, disclose, copy, or distribute this file or
// any information contained herein except pursuant to a valid written
// license agreement. It may not be used, reproduced, or disclosed to others
// except in accordance with the terms and conditions of that agreement.
//
////////////////////////////////////////////////////////////////////////////// 
//
//    Perforce Information
//    $Author: ameer $
//    $File: //dwh/up16/main/dev/pma/include/ani_macros.v $
//    $DateTime: 2013/05/16 12:26:43 $
//    $Revision: #1 $
//
////////////////////////////////////////////////////////////////////////////// 

`ifdef ANI_MACROS_V
`else // !ANI_MACROS_V
 `define ANI_MACROS_V

 // Please do not put testbench-specific code in this file.  If the test or
 // testbench defines ANI_ERROR or ANI_INFO before including this
 // file, then these versions will not be used.
 //
 `ifdef ANI_PLI
  `define ANI_RANDOM $ani_random(`ANI_RANDOM_SEED)
  `define ANI_STRONG_MUTEX2(foo, bar) $ani_strong_mutex(foo, bar)
  `ifdef ANI_ERROR
  `else // !ANI_ERROR
   `define ANI_ERROR(foo) $ani_error(foo)
  `endif // ANI_ERROR
  `ifdef ANI_INFO
  `else // !ANI_INFO
   `define ANI_INFO(foo) $ani_info(foo)
  `endif // ANI_INFO
  `ifdef ANI_DEBUG
  `else
   `define ANI_DEBUG(foo) $ani_debug(foo)
  `endif
  `ifdef ANI_WARNING
  `else
   `define ANI_WARNING(foo) $ani_warning(foo)
  `endif
 `else // !ANI_PLI
  `define ANI_RANDOM $random
  `define ANI_STRONG_MUTEX2(foo, bar) $display($time, " %m Info: strong mutex ignored")
  `ifdef ANI_ERROR
  `else // !ANI_ERROR
   `define ANI_ERROR(foo) $display($time, " %m ERROR! ", foo)
  `endif // ANI_ERROR
  `ifdef ANI_INFO
  `else // !ANI_INFO
   `define ANI_INFO(foo) $display($time, " %m Info: ", foo)
  `endif // ANI_INFO
  `ifdef ANI_DEBUG
  `else
    `ifdef DEBUG
    `define ANI_DEBUG(foo) $display($time," %m Debug: ",foo)
   `else 
    `define ANI_DEBUG(foo) 
   `endif
  `endif
  `ifdef ANI_WARNING
  `else
   `define ANI_WARNING(foo) $display($time," %m Warning! ",foo)
  `endif
 `endif // ANI_PLI

`endif // ANI_MACROS_V
